/****************************************************
  File: src/main.c
  Description: Audio Cup Main Program ( motherfile )
  Author: Brant Anderson
  Date: 10/25/01
  Last Update: 10/29/01
  Status: Crap
  To Do: -Run general initialization function
         -Read numKeys from config file
 ****************************************************/

/** I need to re-think my entire strategy here.
    How can I make programming this thing easier?
    How do I want playlists to be passed?
    What gets encapsulated inside of what?
    What does the hierarchy structure of the
    parameters look like?
    
    How are the menus going to work?
    What should the menus be like for smaller displays?
**/
    


#include <stdio.h>
#include <unistd.h>
#include "../include/main.h"


int main( int argc, char *argv[] ) {

/** TODO: use config file to define keys **/

	/**** Temperary until config file can be read ****
	Read the config file to find the number of keys
	to configure for Audio Cup... acup will then
	adjust it's interface accordingly. */

	int numKeys = 12;

	/**** Supported Key Quantities Are As Follows: ****
	Not Recommended At All: (not going to add for awhile)
	4 = Action, Up/Left, Down/Right, Menu <== (Like LCDd Server Uses)
	5 = Action, Up/Left, Down/Right, Menu, Display

	Not Recommended: (not going to add for awhile)
	6 = Action, Up/Left, Down/Right, Menu, Display, Mode
	7 = Action, Up/Left, Down/Right, Menu, Display, Mode, List1

	Recommended: (these will be supported from the get-go)
	8 = Up, Down, Left, Right, Action, Menu, Display, Mode
	9 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1
	10 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, List2
	11 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List3
 ==>12 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List4<==
	13 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List5
	14 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List6
	15 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List7
	16 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List8
	17 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List9
	18 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List10
	19 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List11
	20 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List12
	21 = Up, Down, Left, Right, Action, Menu, Display, Mode, List1, ..., List13

	I'm going to try to design this so the code can be adapted to
	different key quantities. But for starters, only 8+ Keys will
	have support.

	NOTE: Letters A through D are reserved for LCDd.
		  You must subtract 4 keys from your keypad.
		  If you have a 16 digit keypad, then numKeys = 12. */


	/* MOVED THIS into 'init.c' in function 'ac_main()'
	if( initDisplay( ) == 0 ) return 0;
	if( initKeypress( numKeys ) == 0 ) return 0; */

	ac_main( numKeys );

	printf( "\nExit\n" );
	return 0;

}

